Asynchronous Compute
With its dedicated Asynchronous Compute Engines, AMD has had something of an advantage over Nvidia when it comes to the concurrent processing of graphics and compute tasks, and it's something that's becoming more and more relevant as physics processing advances and as we move into the era of VR as well as of APIs like DX12 and Vulcan with their asynchronous shader functionalities. Nvidia has made improvements in this area with Pascal but AMD is doing the same with Polaris.
Click to enlarge
Time-critical workloads, where the renderer needs to know that the work will start and finish in a given time, are one area where asynchronous compute is beneficial. Preemption, which is where you stop the graphics workload altogether to give as many resources as possible to the incoming compute, for example, is one means of achieving this. This is what Nvidia has optimised with Pascal, but it involves saving off the existing work before the new workload can begin, which is potentially costly. AMD is thus introducing the Quick Response Queue, where time-critical tasks get high priority access to the shaders without the graphics workload having to stop altogether. It's handled by the ACEs, meaning that GCN 1.2 GPUs and later can benefit from this via a driver update too.
Click to enlarge
The classic example for when it comes in handy is in VR, specifically the asynchronous time warp function of the Oculus headset, where the most recently rendered image is warped in line with the most recent head tracking information to reduce perceived latency and avoid repeated/dropped frames and judder. AMD's LiquidVR SDK utilises the Quick Response Queue feature for this very purpose, as it helps the command be delivered as close as possible to the display refresh.
Click to enlarge
Another area where asynchronous compute functionality will be beneficial is TrueAudio Next, a real-time audio processing tactic using ray tracing methods for real-time, accurate positional audio. Again, this has particular benefits in VR where such audio is crucial for immersion. The key difference between this and the original TrueAudio is that it uses the CUs themselves and not a dedicated hardware block.
Want to comment? Please log in.